In many applications it is necessary to drive DC motors with great precision. Electric motors are inductive loads, and there is a certain time lag between a variation in the current circulating in the motor winding and the corresponding voltage variation at the terminals of the motor. The value of the voltage is a function of a certain electrical time constant of the motor. This delay may lead to relevant errors in positioning devices moved by the motor.
An important application requiring a precise driving of a motor is that in which voice coil motors (VCM) are used for moving read/write heads of a hard disk drive over the surface of the spinning disk. Voice coil motors are employed in a number of applications, and hereinafter, reference will be made to this type of motor. The considerations that will be made also hold even for other types of DC motors.
Commonly, voice coil motors are controlled in a current mode by a common feedback loop composed of a sensing resistor connected in series to the winding of the motor, and of a control circuit input with the voltage present on the sensing resistor. A control signal is output to a power stage connected to the winding of the motor to make null the difference between the current effectively flowing in the motor winding and the programmed driving current.
Drawbacks to this type of driving include the sensing resistor being very precise for minimizing errors in driving the motor. The sensing resistor is a relatively expensive external component that needs to be connected to the integrated motor controller.
With the ever increasing scale of integration of integrated circuits and the relative small footprint packages, there are cost penalties associated with the total number of pins to be formed. Forming pins for implementing a feedback current mode control implies a non-negligible cost, especially for mass production.
An open-loop voltage mode control is an alternative to the more common current mode closed loop control. The open-loop voltage mode control has the advantage of reducing the total pin count because a dedicated pin for the sensing resistor is no longer required.
In an open-loop voltage mode control, the delay due to the electrical time constant of the motor may be compensated by using the method of driving a voice coil motor and the related circuit as disclosed in U.S. Pat. No. 6,617,817. This patent is in the name of the current assignee of the present invention, and is incorporated herein by reference in its entirety. The '817 patent discloses the use of a compensation filter for correcting the signal that is input to the output power stage that drives the motor as a function of the nominal value of the admittance of the motor. A basic scheme of this driving circuit is shown in FIG. 1.
The admittance of the motor varies during operation because the motor heats up, and thus the winding resistance increases with the temperature. As a consequence, the driving signal may be corrected in an insufficiently accurate manner if the winding resistance differs from its nominal design value.
One approach is to modify the parameters that define the compensation filter for adjusting them according to the varying resistance. This could be done practically by determining the effective resistance of the motor winding by measuring the current flowing in the winding. However, this would defeat the reason for choosing the voltage mode open-loop approach.